package com.lening.common.base;

import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.IService;

import java.util.Collection;
import java.util.List;

/**
 * @author 牛强
 * @datetime 2024/4/15 10:03
 * @description 接口对象
 */
public interface BaseService<P, D> extends IService<P> {
    // 添加
   String add(P p);

   // 批量添加
   String adds(Collection<P> ps);

   // 修改
   String update(P p);

   // 批量修改
   String updates(Collection<P> ps);

   // 添加或修改
   String addOrUpdate(P p);

   // 根据ID删除一个对象
   String delById(Long id);

   // 根据ID集合删除多个对象
   String delByIds(Collection<Long> ids);

   // 根据ID获取一个对象
   P getById(Long id);

   // 根据ID集合获取多个对象
   List<P> getByIds(Collection<Long> ids);

   // 条件查询
   List<?> list(D d);

   // 分页条件查询
   Page<?> page(D d);

    // 启用
    String enable(Long id);

    // 停用
    String unable(Long id);

   String verify(Long id);
   String unverify(Long id);
}
